package smartcrud.spring.models.rbac;

import java.util.List;

import smartcrud.common.orm.Page;
import smartcrud.common.orm.PropertyFilter;


public interface UserDao {
	public User createUser(User user);
	
	public void assignUserWithRoles(User user);

	public void deleteUser(Long id);

	public void updateUser(User user);

	public User findUserById(Long id);

	public List<User> findAllUsers();

	public int count(Page<User> page,final List<PropertyFilter> filters);
	
	public Page<User> findByPage(Page<User> page, List<PropertyFilter> filters);
	
	// put your code here
	public User connect(String email, String password);

	public List<Menu> getUserMenus(Long userId);
}
